package fr.afcepf.al22.qualite.dao;

import java.util.List;

import fr.afcepf.al22.qualite.entitee.Personne;

/**
 * fonctionalite pour la personne de l'entite a la base bdd.
 * @author Stagiaire
 */
public interface IDaoPersonne {
	/**
	 * Methode permettant d'ajouter une {@link Personne}
	 * dans la base de donnees
	 * @param pers la {@link Personne} a ajouter.
	 * @return
	 * <ul>
	 * 	<li>
	 * 		Un objet de type {@link Personne} avec 
	 *		 <code> {@link Personne#getId()}!=null</code>
	 * 	</li>
	 * <li>
	 * 		Un objet de type {@link Personne} avec 
	 *		 <code> {@link Personne#getId()}==null</code>
	 * 	</li>
	 * </ul>
	 */
	Personne ajouter(Personne pers);
	/**
	 * Permer de rechercher des {@link Personne} dont
	 * le {@link Personne#getNom()} contient le 'nom'
	 * transmis en argument.
	 * @param nom le nom recherche
	 * @return
	 * <ul>
	 * 	<li>une {@link List} remplie de {@link Personne}
	 * 	<br/> si la recherche donne des resultats</li>
	 * <li>une {@link List} remplie de {@link Personne} 
	 *	<code> <em>retour.getSize()==0 </em></code>
	 *	<br/> sinons</li>
	 * </ul>
	 */
	List<Personne> recherche(String nom);
	/**
	 * Methode permettant de verifier l'existance d'une 
	 * {@link Personne} possedant le mail donne en argument.
	 * @param mail le mail a verifier
	 * @return
	 * <ul>
	 * 	<li>null si personne no possede ce mail</li>
	 * <li>un objet de type {@link Personne} rempli
	 * de tous ses attributs si il existe </li>
	 * </ul>
	 */
	Personne verifMail(String mail);
}
